Storage systems often use multiple disk drives to provide features such as fault tolerance, increased throughput, increased storage capacity, and expandability. For example, mirroring uses two or more drives to store duplicate copies of data such that if one of the drives fails the data can still be read from another drive. Striping allows data to be divided into portions that are written (and read) in parallel to two or more drives at the same time to provide increased throughput. Concatenation combines two or more drives to enable a higher storage capacity than would be available from a single disk drive. While such features have become common in enterprise-class storage solutions, these features are still rare among consumer systems. The cost and complexity of assembling such systems prevents many consumers from being able to take advantage of these advanced storage features.
Design limitations of commodity, consumer-level storage hardware also prevent users from benefiting from these advanced storage features. For example, many computer systems limit the number of disk drives that can be addressed by a single host interface. The Serial Advanced Technology Attachment (SATA) 1.0 specification (available on the web at www.serialata.org) only supports connecting a single disk drive to a host. The later SATA II Port Multiplier specification (available on the web at www.serialata.org) added an additional addressing scheme that allows a host to address 15 physical disk drives, but not all hosts support the newer specification, and having the host computer system manage multiple drives involves additional complexity and configuration that is difficult for many consumers. The net result is that the consumer is not able to obtain easy-to-use, low-cost hardware capable of providing high-end storage features available to enterprise-class computer systems.